]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
networkAgent: Don't register/unregister, just refuse to handle requests
authorJasper St. Pierre <jstpierre@mecheye.net>
Thu, 14 Feb 2013 22:09:31 +0000 (17:09 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Fri, 15 Feb 2013 21:50:12 +0000 (16:50 -0500)
https://bugzilla.gnome.org/show_bug.cgi?id=693746

js/ui/components/networkAgent.js

index e214cd87c3487d56504e6e57a17d61be00106693..13f9e31950a1c39a09fbd6836ac753f6a7aa2795 100644 (file)
@@ -587,18 +587,19 @@ const NetworkAgent = new Lang.Class({
     Name: 'NetworkAgent',
 
     _init: function() {
-        this._native = new Shell.NetworkAgent({ auto_register: false,
-                                                identifier: 'org.gnome.Shell.NetworkAgent' });
+        this._native = new Shell.NetworkAgent({ identifier: 'org.gnome.Shell.NetworkAgent' });
 
         this._dialogs = { };
         this._vpnRequests = { };
 
         this._native.connect('new-request', Lang.bind(this, this._newRequest));
         this._native.connect('cancel-request', Lang.bind(this, this._cancelRequest));
+
+        this._enabled = false;
     },
 
     enable: function() {
-        this._native.auto_register = true;
+        this._enabled = true;
     },
 
     disable: function() {
@@ -612,12 +613,15 @@ const NetworkAgent = new Lang.Class({
             this._vpnRequests[requestId].cancel(true);
         this._vpnRequests = { };
 
-        this._native.auto_register = false;
-        if (this._native.registered)
-            this._native.unregister();
+        this._enabled = false;
     },
 
     _newRequest:  function(agent, requestId, connection, settingName, hints, flags) {
+        if (!this._enabled) {
+            agent.respond(requestId, Shell.NetworkAgentResponse.USER_CANCELED);
+            return;
+        }
+
         if (settingName == 'vpn') {
             this._vpnRequest(requestId, connection, hints, flags);
             return;